<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<!--
  1. 通常情况下, Vuex要求我们Mutation中的方法必须是同步方法.
      - 主要的原因是当我们使用devtools时, 可以devtools可以帮助我们捕捉mutation的快照.
      - 但是如果是异步操作, 那么devtools将不能很好的追踪这个操作什么时候会被完成.
  2. Action类似于Mutation, 但是是用来代替Mutation进行异步操作的.
  第一步：在action里面定义异步方法
   //actions里的方法，会有一个默认参数，context：上下文 这里指的就是store对象
    actions:{
    aUpdateInfo(context){
      setTimeout(() => {
        context.commit('updateInfo')
      },1000)
    }
  }
  第二步：在APP组件里，使用dispatch来调用action里的方法
  updateInfo(){
      this.$store.dispatch('aUpdateInfo')
    }
    
   3.action方法里的参数： payload：即传过来的值（12345）
    actions:{
    aUpdateInfo(context，payload){
      setTimeout(() => {
        context.commit('updateInfo')
      },1000)
    }
  }
  
   updateInfo(){
      this.$store.dispatch('aUpdateInfo',12345)
    }
    注意：如果要传入多个参数，可以使用对象{}来传
  
-->
</body>
</html>